﻿(function ($) {

    //CheckBox全选
    // 使用：  $('#form').checkBoxSelect('name');
    // <input type='checkbox' onclick="$('form').checkBoxSelect();">全选<br/>
    $.fn.checkBoxSelect = function (name, checked) {
        name = name ? ("[name=" + name + "]") : '';
        var checkBoxs = $("input[type=checkbox]" + name, this); // 选取 checkbox元素
        checked = checked || checkBoxs.get(0).checked; // 没有checked参数时,以列表的第一个的选择为准
        checkBoxs.each(function () { this.checked = checked });
    };
    //获取CheckBox的值,注意返回的是值的数组
    $.fn.getCheckBoxValue = function () {
        var c = [];
        this.each(function () {
            if (this.checked) c.push(this.value);
        });
        return c;
    };

    //是否选中,可应用于checkbox及radio
    //all: 为true时,需要有所有都选中时才返回true；为false时只要有任意一个选中即返回true, 默认为false
    $.fn.IsChecked = function (all) {
        if (this.length <= 0) return false; // 没有元素时,返回false
        var isbool = !!all; //all为true时,isbool为true； all为false或者为空时,isbool为false
        this.each(function () {
            if (all) {
                isbool = isbool && this.checked;
            }
            else {
                isbool = isbool || this.checked;
            }
        });
        return isbool;
    };
    //是否存在 
    $.fn.Exists = function () {
        return (this.length > 0);
    };

})(jQuery);